――――――――――――――――――――――――――――――――――――――――――――――――――
Touhou Community Reliant Automatic Patcher logfile
Branch: stable
Version: 2021-01-17
Build time: Jan 17 2021 21:49:31
Built by: brliron
Command line: "D:\Games\Touhou\Official\Touhou 9.5 - Shoot the Bullet\thcrap\..\custom.exe"
――――――――――――――――――――――――――――――――――――――――――――――――――

Run configuration file: D:\Games\Touhou\Official\Touhou 9.5 - Shoot the Bullet\thcrap\config\thpatch-en.js

EXE file name: D:\Games\Touhou\Official\Touhou 9.5 - Shoot the Bullet\thcrap\..\custom.exe
(JSON) Resolving versions.js... 
 + D:/Games/Touhou/Official/Touhou 9.5 - Shoot the Bullet/thcrap/repos/nmlgc/base_tsa/versions.js
  + D:/Games/Touhou/Official/Touhou 9.5 - Shoot the Bullet/thcrap/repos/nmlgc/base_tasofro/versions.js
Hashing executable... → th095_custom v1.00a (original) (codepage 0)
(JSON) Resolving configuration for th095_custom.js... 
 + D:/Games/Touhou/Official/Touhou 9.5 - Shoot the Bullet/thcrap/repos/nmlgc/base_tsa/global.js
  + D:/Games/Touhou/Official/Touhou 9.5 - Shoot the Bullet/thcrap/repos/nmlgc/base_tasofro/global.js
   + D:/Games/Touhou/Official/Touhou 9.5 - Shoot the Bullet/thcrap/repos/nmlgc/script_latin/global.js
breakpoint ruby_offset: no cavesize specified
Game directory: D:\Games\Touhou\Official\Touhou 9.5 - Shoot the Bullet
Plug-in directory: D:\Games\Touhou\Official\Touhou 9.5 - Shoot the Bullet\thcrap

Initializing plug-ins...
(JSON) Resolving stringdefs.js... 
 + D:/Games/Touhou/Official/Touhou 9.5 - Shoot the Bullet/thcrap/repos/nmlgc/base_tsa/stringdefs.js
   + D:/Games/Touhou/Official/Touhou 9.5 - Shoot the Bullet/thcrap/repos/nmlgc/script_latin/stringdefs.js
     + D:/Games/Touhou/Official/Touhou 9.5 - Shoot the Bullet/thcrap/repos/thpatch/lang_en/stringdefs.js
(JSON) Resolving th095_custom/stringlocs.js... 
 + D:/Games/Touhou/Official/Touhou 9.5 - Shoot the Bullet/thcrap/repos/nmlgc/base_tsa/th095_custom/stringlocs.v1.00a.js
(Font) Loading Aroania.ttf (426296 bytes)...
(Font) Loading Cirno.ttf (28952 bytes)...
(Font) Loading THBiolinum.otf (557212 bytes)...
[Plugin] thcrap_tasofro.dll: not used for this game
[Plugin] thcrap_tsa.dll: initialized and active
(JSON) Resolving th095_custom/missions.js... not found
(JSON) Resolving th095_custom/loops.js... not found
(JSON) Resolving themes.js... 
 + D:/Games/Touhou/Official/Touhou 9.5 - Shoot the Bullet/thcrap/repos/nmlgc/base_tsa/themes.js
    + D:/Games/Touhou/Official/Touhou 9.5 - Shoot the Bullet/thcrap/repos/thpatch/lang_en/themes.js
(JSON) Resolving th095_custom/musiccmt.js... not found
(JSON) Resolving th095_custom/spells.js... not found
(JSON) Resolving th095_custom/spellcomments.js... not found
Applying thcrap detours to D:\Games\Touhou\Official\Touhou 9.5 - Shoot the Bullet\thcrap\..\custom.exe...
Detouring DLL functions (kernel32.dll)...
( 1/41) CopyFileA... not found
( 2/41) CopyFileExA... not found
( 3/41) CreateDirectoryA... not found
( 4/41) CreateFileA... OK
( 5/41) CreateFileMappingA... not found
( 6/41) CreateProcessA... not found
( 7/41) DeleteFileA... not found
( 8/41) FindFirstFileA... not found
( 9/41) FindNextFileA... not found
(10/41) FormatMessageA... not found
(11/41) GetCurrentDirectoryA... not found
(12/41) GetEnvironmentVariableA... not found
(13/41) GetFileAttributesA... not found
(14/41) GetFileAttributesExA... not found
(15/41) GetFullPathNameA... not found
(16/41) GetCommandLineA... OK
(17/41) GetModuleFileNameA... OK
(18/41) GetPrivateProfileIntA... not found
(19/41) GetPrivateProfileStringA... not found
(20/41) GetStartupInfoA... OK
(21/41) GetTempPathA... not found
(22/41) IsDBCSLeadByte... not found
(23/41) LoadLibraryA... OK
(24/41) MoveFileA... not found
(25/41) MoveFileExA... not found
(26/41) MoveFileWithProgressA... not found
(27/41) MultiByteToWideChar... OK
(28/41) OpenFileMappingA... not found
(29/41) ReadFile... OK
(30/41) RemoveDirectoryA... not found
(31/41) SetCurrentDirectoryA... not found
(32/41) SetEnvironmentVariableA... not found
(33/41) WideCharToMultiByte... OK
(34/41) WriteFile... OK
(35/41) WritePrivateProfileStringA... not found
(36/41) ExitProcess... OK
(37/41) CreateProcessW... not found
(38/41) CreateRemoteThread... not found
(39/41) LoadLibraryW... not found
(40/41) CloseHandle... OK
(41/41) SetFilePointer... OK
Detouring DLL functions (user32.dll)...
( 1/22) CharNextA... not found
( 2/22) CreateDialogParamA... not found
( 3/22) CreateWindowExA... not found
( 4/22) DefWindowProcA... not found
( 5/22) DialogBoxParamA... OK
( 6/22) DrawTextA... not found
( 7/22) GetClassInfoA... not found
( 8/22) GetClassInfoExA... not found
( 9/22) GetWindowLongA... not found
(10/22) GetWindowLongPtrA... not found
(11/22) InsertMenuItemA... not found
(12/22) LoadStringA... not found
(13/22) MessageBoxA... OK
(14/22) RegisterClassA... not found
(15/22) RegisterClassExA... not found
(16/22) SetDlgItemTextA... not found
(17/22) SetWindowLongA... not found
(18/22) SetWindowLongPtrA... not found
(19/22) SetWindowTextA... not found
(20/22) TabbedTextOutA... not found
(21/22) UnregisterClassA... not found
(22/22) GetWindowRect... not found
No binary hacks to apply.
No breakpoints to set up.
---------------------------
Complete run configuration:
---------------------------
  console: false
  thcrap dir: 'D:\Games\Touhou\Official\Touhou 9.5 - Shoot the Bullet\thcrap'
  runcfg fn: 'D:\Games\Touhou\Official\Touhou 9.5 - Shoot the Bullet\thcrap\config\thpatch-en.js'
  game id: 'th095_custom'
  build id: 'v1.00a'
  game title: ''
  update URL: ''
  latest:
  dat_dump: ''
---------------------------
Patch stack:
---------------------------
Patches in the stack: base_tsa, script_latin, western_name_order, lang_en
[1] base_tsa:
  archive: D:/Games/Touhou/Official/Touhou 9.5 - Shoot the Bullet/thcrap/repos/nmlgc/base_tsa/
  title: Basic support for Team Shanghai Alice games
  ignore: false
  update: true
  servers: 'https://mirrors.thpatch.net/nmlgc/base_tsa/'
[2] script_latin:
  archive: D:/Games/Touhou/Official/Touhou 9.5 - Shoot the Bullet/thcrap/repos/nmlgc/script_latin/
  title: Shared data for languages using Latin script
  ignore: false
  update: true
  servers: 'https://mirrors.thpatch.net/nmlgc/script_latin/'
[3] western_name_order:
  archive: D:/Games/Touhou/Official/Touhou 9.5 - Shoot the Bullet/thcrap/repos/nmlgc/western_name_order/
  title: Western name order
  ignore: false
  update: true
  servers: 'https://mirrors.thpatch.net/nmlgc/western_name_order/'
[4] lang_en:
  archive: D:/Games/Touhou/Official/Touhou 9.5 - Shoot the Bullet/thcrap/repos/thpatch/lang_en/
  title: English language pack
  ignore: false
  update: true
  servers: 'https://srv.thpatch.net/lang_en/'

---------------------------
Run configuration JSON:
---------------------------
{
  "binhacks": {
    "antitamper_remove_check": {
      "code": "33c0 c3",
      "title": "Don't quit the game on an invalid anti-tampering checksum"
    },
    "ending_copy_rem": {
      "title": "Remove the useless string copy and buffer overflow in ending messages, #1 (remember line start and skip to the end of the string)"
    },
    "ending_copy_rep": {
      "code": "8b",
      "title": "Remove the useless string copy and buffer overflow in ending messages, #2 (LEA → MOV)"
    },
    "hud_force_redraw": {
      "code": "eb",
      "title": "Redraw the HUD every frame, because we might be drawing TL notes there"
    },
    "log_restore": {
      "code": "e9[log_printf]",
      "title": "Restore the game's built-in logging"
    },
    "meiryo_strcmp_remove": {
      "code": "9090",
      "title": "Don't restrict use of the Meiryo font to Japanese locale"
    },
    "menu_desc_align": {
      "code": "52 ff75ac ff75b0 e8[GetTextExtentForFontID] 8d440010 50 db04e4 58 59 89ca 90909090",
      "title": "Menu description alignment"
    },
    "result_spell_align": {
      "code": "31c0",
      "title": "Remove spell \"alignment\" in the result screen"
    },
    "spell_align": {
      "code": "ff7518 56 e8[GetTextExtentForFontID] 83c008 d1e0 89c6 8b442410 8b4c240c 8b542414 8b4c8808 8bc1 c1f808 8b9482f0f48401 0fb6c1 8d0c40 8b8224010000 8b0cc8 8b451c 8d1400 89f0 8b742410 909090",
      "title": "Correctly align right-aligned text (TH16+)"
    },
    "spell_name_fetch": {
      "code": "8b4d0c5131c9515151",
      "title": "Prepare deferred spell name fetching"
    },
    "sprintf_call_ebp-200": {
      "code": "5090909090909090909090e8[strings_vsprintf]8b4d0c83c40c509090",
      "title": "Safe sprintf (ebp-200)"
    },
    "sprintf_call_ebp-208": {
      "code": "5190909090909090909090e8[strings_vsprintf]83c40c509090",
      "title": "Safe sprintf (ebp-208)"
    },
    "sprintf_call_ebp-50": {
      "code": "50e8[strings_vsprintf]8945b0",
      "title": "Safe sprintf (ebp-50)"
    },
    "sprintf_call_ebp-88": {
      "code": "50e8[strings_vsprintf]898578ffffff",
      "title": "Safe sprintf (ebp-88)"
    },
    "sprintf_call_ebp-8c": {
      "code": "50e8[strings_vsprintf]898574ffffff",
      "title": "Safe sprintf (ebp-8c)"
    },
    "sprintf_call_esp+14": {
      "code": "50e8[strings_vsprintf]8944e414",
      "title": "Safe sprintf (esp+14)"
    },
    "sprintf_call_esp+18": {
      "code": "50e8[strings_vsprintf]8944e418",
      "title": "Safe sprintf (esp+18)"
    },
    "sprintf_call_esp+1c": {
      "code": "50e8[strings_vsprintf]8944e41c",
      "title": "Safe sprintf (esp+1c)"
    },
    "sprintf_call_esp+34": {
      "code": "50e8[strings_vsprintf]8944e434",
      "title": "Safe sprintf (esp+34)"
    },
    "sprintf_call_esp+38": {
      "code": "e8[strings_vsprintf]89442434",
      "title": "Safe sprintf (esp+34)"
    },
    "sprintf_call_esp+3c": {
      "code": "50e8[strings_vsprintf]8944e43c",
      "title": "Safe sprintf (esp+3c)"
    },
    "sprintf_msvcrt14_ebp-10c": {
      "code": "e8[strings_vsprintf_msvcrt14]8985f4feffff",
      "title": "Safe Visual Studio 2015-style sprintf (ebp-10c)"
    },
    "sprintf_msvcrt14_esp+34": {
      "code": "e8[strings_vsprintf_msvcrt14]89442434",
      "title": "Safe Visual Studio 2015-style sprintf (esp+34)"
    },
    "sprintf_msvcrt14_esp+3c": {
      "code": "e8[strings_vsprintf_msvcrt14]8944243c",
      "title": "Safe Visual Studio 2015-style sprintf (esp+3c)"
    },
    "sprintf_rep": {
      "code": "8b",
      "title": "Safe sprintf (replace)"
    },
    "sprintf_replay_use_ecx_2": {
      "code": "e8[strings_sprintf] 83c4 0c 89c1 9090"
    },
    "sprintf_replay_use_ecx_5": {
      "code": "e8[strings_sprintf] 83c4 0c 89c1 9090909090"
    },
    "ret": {
      "code": "c3",
      "title": "Returns from a function"
    },
    "font_dialog_params": {
      "code": "6a036a006a0068000000006a006a006a006890010000",
      "title": "Set parameters for alternate dialog font"
    },
    "font_dialog_set": {
      "code": "6a019090",
      "title": "Use alternate dialog font"
    },
    "meiryo_disable": {
      "code": "83c414 909090",
      "title": "Disable the enumeration of Meiryo for compatibility to existing font settings"
    }
  },
  "breakpoints": {
    "ascii_params": {
      "cavesize": 5
    },
    "ruby_offset": {
      "font_dialog": 0,
      "font_ruby": 2
    }
  },
  "thcrap_url": "http://thpatch.net/wiki/Project:Download",
  "thcrap_version_min": "0x20170905",
  "tlnotes": {
    "font": "'MS Gothic' 32 0 400 DEFAULT_QUALITY",
    "reference_resolution": [
      1280,
      960
    ],
    "valign": "bottom"
  },
  "font": "Touhou Biolinum",
  "fontrules": {
    "* 15 * 700": "* 21 * 100 NONANTIALIASED_QUALITY"
  },
  "game": "th095_custom",
  "console": false,
  "dat_dump": false,
  "patches": [
    {
      "archive": "repos/nmlgc/base_tsa/"
    },
    {
      "archive": "repos/nmlgc/base_tasofro/"
    },
    {
      "archive": "repos/nmlgc/script_latin/"
    },
    {
      "archive": "repos/nmlgc/western_name_order/"
    },
    {
      "archive": "repos/thpatch/lang_en/"
    }
  ]
}---------------------------
(Data) Resolving th095_custom/dialog_103.bin... not found
(JSON) Resolving th095_custom/dialog_103.js... 
 + D:/Games/Touhou/Official/Touhou 9.5 - Shoot the Bullet/thcrap/repos/nmlgc/base_tsa/th095_custom/dialog_103.js
Shutting down repatch watcher thread.
Statistics:
----
• Last error codes: 0 (queue), 0 (changes)
• Total number of file changes parsed: 0
• Maximum buffer fill state: 0/65536 bytes
----
Removing plug-ins...
